// run: $exec < input
// opt: 0
// flag: -g
#include <iostream>
#include <cstring>
#include <string>

int pos[32];
std::string s;
std::string t;

bool judge()
{
	if (t.size() < s.size() || (s.size() == t.size() && s != t)) return false;

	int ti = 0, si = 0;
	for (; si < (int)s.size(); si++) {
		if (s[si] == t[ti]) ti++;
		else {
			while (s[si] != t[ti]) {
				if (!si) return false;
				if (s[si - 1] == t[ti]) {
					if (pos[s[si - 1] - 'a'] == -1 || pos[s[si - 1] - 'a'] == si - 1) return false;
				}
				ti++;
			}
			ti++;
		}
		if (pos[s[si] - 'a'] == -1)
			pos[s[si] - 'a'] = si;
	}
	return si >= (int)s.size();
}

int main()
{
	std::ios::sync_with_stdio(false);
	int T; std::cin >> T;

	while (T--) {
		std::cin >> s >> t;
		for (int i = 0; i < 32; i++)
			pos[i] = -1;
		//
		if (judge())
			std::cout << "Yes\n";
		else
			std::cout << "No\n";
	}
}

